1) Field of the Invention
The present invention relates to a security module, a method of and an apparatus for reproducing information, which is downloaded via the Internet or information stored in a recording medium, by adding minimum hardware to a device having an open architecture such as a personal computer.
2) Description of the Related Art
In recent years, the broadband access to the Internet has become common and the digital broadcasting over the Internet has become popular. As a result, right-protection technologies that ensure the security of the distributed contents (mainly digital audio videos (AV)) have been attracting a great deal of attention.
A personal computer (PC) is an example of open architecture. As it is possible to peep into the contents of the personal computer, it has been considered difficult to realize the security of the contents.
However, the personal computer functions as a main gateway to and from the Internet. Therefore, if the contents in the personal computer can be secured, then it will be very advantageous because it will become possible to distribute the digital AV contents over the Internet.
A major approach to securing software, which need to be protected, in the personal computer has been to make the software difficult to read.
However, software is loaded onto the main memory of the personal computer when it is executed. It is easy to copy the software from the main memory while the software is in the main memory. Once the software is copied, it can then be analyzed at leisure.
Thus, the approach of making the software difficult to read does not give full protection. Therefore, it is not a wise idea to employ this approach where high protection is required.
FIG. 7 is a block diagram of a conventional system. This system includes a personal computer 50 that functions as an information reproducing apparatus, a network 51, a speaker 52, a display unit 53, and an input unit 54.
The personal computer 50 includes a central processing unit (CPU) 50a, a read-only memory (ROM) 50b, a random access memory (RAM) 50c, a hard disk drive 50d, a multimedia board (MB) 50e, two interfaces (I/F) 50f and 50g, and a bus 50h. The personal computer 50 decodes encrypted information that is downloaded via the network 51 or stored in the hard disk drive 50d, and outputs the decoded information to the speaker 52 and the display unit 53.
The CPU 50a executes various processes according to a program stored in the hard disk drive 50d. The CPU 50a also controls every section of the apparatus. The ROM 50b stores data and program that the CPU 50a executes. The RAM 50c temporarily stores the data and the program corresponding to specific process while the CPU 50a executes that processes.
The hard disk drive 50d stores the data and the program that the CPU 50a executes. The MB 50e decodes encrypted audio data and video data supplied from the CPU 50a, generates the original audio signal and video signal, and outputs these signals to the speaker 52 and the display unit 53.
The I/F 50f performs protocol conversion and data format conversion at the time of transmitting and receiving information via the network 51. The I/F 50g converts the data input from the input unit 54 into data having an internal format of the personal computer 50.
The bus 50h interconnects the CPU 50a, the ROM 50b, the RAM 50c, the hard disk drive 50d, the MB 50e, the I/F 50f, and the I/F 50g. These units can transmit and receive information to and from each other via the bus 50h. 
The network 51 is, for example, the Internet. The speaker 52 converts the audio signal supplied from the MB 50e into audio and outputs the audio. The display unit 53 is a cathode-ray tube (CRT) monitor or a liquid crystal monitor, for example, and displays the video. The input unit 54 includes a mouse and/or a keyboard, for example.
FIG. 8 shows information flow in the personal computer 50. The hard disk drive 50d stores a basic software, decryption keys, and encrypted contents.
The basic software is used to decrypt the cipher of the encrypted contents. This software is made difficult to read to prevent it from being decrypted by a malicious user. For example, the process of making the software difficult to read, may be performed as follows.                Before the processing: X=X+Y        After the processing: X=X*2+1+Y*2−1                    X=X/2where X and Y are variables, and * indicates multiplication.                        
Although the result of the calculation before the processing and the result of the calculation after the processing are the same, decrypting the algorithm becomes difficult after the processing.
The decryption keys are keys used to decrypt the cipher applied to the encrypted contents. The decryption keys are stored at a secret position and are provided with a secret scramble. This prevents the keys from being easily stolen by a malicious user.
The encrypted contents are, for example, encrypted video, audio, and computer data.
The following steps of processing are executed to reproduce the encrypted contents:                (1) The basic software is read from the hard disk drive 50d and loaded onto the RAM 50c.         (2) The basic software is stored at a secret position and the decryption keys are read from the hard disk drive 50d. The decryption keys are broken into three to five parts and stored in separate secret positions. Moreover, it is not possible to obtain the keys unless a secret calculation is successfully solved.        (3) The encrypted contents are read from the hard disk drive 50d, and the cipher is decrypted with the decryption keys.        (4) If the decrypted contents are compressed contents, they are decompressed (Motion Picture Experts Group (hereinafter, “MPEG”) decompression in case of video contents), and then stored into the buffer on the RAM 50c, and are output to the MB 50e.         (5) The MB 50e executes a digital-to-analog (D/A) conversion and a graphical processing of the input contents, and outputs the obtained audio signal to the speaker 52 and the video signal to the display unit 53. Thus, the contents are regenerated.        
According to the conventional system, as the basic software is loaded onto the RAM 50c of the personal computer 50, there is a risk that a malicious user can decrypt and copy the software.
Even if all the software including the basic software stored in the hard disk drive 50d are encrypted, the decryption software used to decrypt the cipher exists somewhere in the personal computer 50. Therefore, if one analyses the decryption software and finds out the positions where the decryption keys are stored, even the basic software can be analyzed and the algorithm employed to make the personal computer safe (hereinafter, “right-protection algorithm”) can be discovered.
There is a need, particularly in public networks, such as the networks of the broadcasting industry, of a processing method that makes it difficult to decrypt the contents even if the right-protection algorithm is discovered. Current digital television receivers, which function mainly on hardware, employ the encryption such as MULT12, DES (Data Encryption Standard). Although quite a few people know how these algorithms work, it is extremely difficult to decrypt the cipher of the contents unless the decryption keys are known.
The encryption keys are stored in the hardware, and an arrangement is provided such that these encryption keys can not be read by software. Further, the digital television receiver has a decrypting circuit and contents processing circuits (such as an MPEG video decompressing circuit and an MPEG audio decompressing circuit) realized as hardware. As a result, it is extremely difficult for a user to peep into the contents.
Such digital television receivers have appeared in the market. The SKYPerfecTV! (a trademark) in Japan and the DIRECTV (a trademark) in the United States are examples of systems where such digital television receiver are used.